C language explained